The present invention relates to a managing system and a managing method of a mobile agent.
The mobile agent has aimed to perform appropriate processing in an appropriate place while accompanied by the movement of the code of the agent and the movement of data. The system construction with a high flexibility becomes possible by moving the agent, and continuing processing while communicating among the agents if necessary.
The application system created based on the mobile agent technology can be considered as a set of programs which activate in different computers. On the other hand, ones that mobility is given to the object based on a conventional object-oriented technology can be considered as an agent.
The mobile agent system is characterized with mobility. Therefore, the computer, which generates the agent, can be in a state of xe2x80x9cWaitxe2x80x9d until generated agent finish all work and return to the computer. That is, since it is unnecessary to activate the computer in the waiting state, the activation can be paused. However, in a case computer does not activate when the agent, who ended the round, intends to return the computer which generated the agent, a fact that the agent waits at the previous computer occurs, then, according to circumstances, the state, which the agents concentrates on a specific computer, occurs.
In the technology as mentioned above, when the agent cannot reach the final target computer since the agent moves not only data but also an own code to the itinerary, it is necessary to make the agent staying as it is. Therefore, there are disadvantages such as not being capable of activating a new agent with a small-scale computer which does not comprise the secondary memory or has the small memory capacity etc.
An object of the present invention is to provide a managing system and a managing method of a mobile agent who can hold an agent temporarily without consuming a resource of a small-scale computer.
The managing system of the first mobile agent system according to the present invention wherein the mobile agent system comprises: a plurality of agent systems for generating an agent, executing the agent and performing a movement processing of the agent; at least one agent holding server having an agent holding table; and a network connected thereto, and wherein each of the plurality of agent systems has agent managing means to transfer the agent to the agent holding table of the agent holding server when the mobile agent system does not accept the agent in a case the agent is moved from the agent system under execution to the mobile agent system, and the agent holding server has server managing means to hold the agent in the agent managing table, and to move the agent when the mobile agent system can become accepting it. In the first agent managing system, each of the plurality of agent systems comprises: an agent transmitting and receiving section for transmitting and receiving the agent through the network; an agent storage section for holding an received agent; an agent manager for managing a generation of the agent, transmitting and receiving the agent, and an execution of the agent, and for moving the agent to the agent holding server specified by the agent when the mobile agent system can not accept the agent; and an agent execution section for executing a processing of the agent. A first method of managing the agent which has a plurality of agent systems for generating an agent, executing the agent and performing a movement processing of the agent; at least one agent holding server having an agent holding table; and a network connected thereto, according to the present invention comprises the steps of: transferring the agent to the agent holding table of the agent holding server when the mobile agent system does not accept the agent in a case the agent is moved from the agent system under execution to the mobile agent system; and moving the agent held in the agent managing table of the agent holding server to the mobile agent system when the mobile agent system can become acceptable.
By providing the agent holding server in the network of the mobile agent system, when the agent system, which is an itinerary of the agent, does not activate, the agent can be temporarily moved to the agent holding server. And, when the mobile agent system becomes in an activation state, by moving the agent, there is an advantage to be possible to make the processing of other agents executed preventing the agent on a small-scale computer from staying.
In the first agent managing system, each of the plurality of agent systems further comprises means for serializing and transferring the agent to the agent holding table of the agent holding server, when the mobile agent system can not accept the agent; and means for deserializing the serialized agent when the serialized agent serialized by the agent system is received through the agent holding server. In the first agent managing system, when the agent acceptance request is received from the mobile agent system, the agent holding server moves the agent to the mobile agent system stored in the agent holding table according to the request. In the method of managing the first agent, the steps of deactivating the own system until the agent issued by the agent system is processed by other agent systems connected with the network and returns; and confirming an existence of the agent moving to the own agent system for the agent holding server after the deactivated agent system starts, and requesting an itinerary of the agent are further provided. When the agent system which issues the agent deactivates and thereafter the system activates, it is possible to confirm whether the agent moving to an own agent system is returned to the agent holding server and request of movement of the agent. Therefore, the monitoring whether the agent system (That is, the target computer) with the agent holding server is activating becomes unnecessary.
In the first agent managing system, each of the plurality of agent systems further comprises means for serializing and transferring the agent to the agent holding table of the agent holding server, when the mobile agent system can not accept the agent; and means for deserializing the serialized agent when the serialized agent serialized by the agent system is received through the agent holding server. In the first method of managing the agent, the steps of: serializing the agent by the agent system under execution and transferring it to the agent holding table of the agent holding server when the mobile agent system can not accept the agent; and deserializing the agent by the mobile agent system, which receives the serialized agent from the agent holding server are further provided. Since only a state of the agent is serialized and moves to the agent holding server, and is deserialized when receiving a predetermined information, the consumption of the computer resource can be suppressed.
In the first agent managing system, the plural agent system further comprises: means for deactivating the system until the agent issued by the agent system is processed by other agent systems connected with the network, and returns; means for requesting an itinerary of the agent moving to an own agent system from the agent holding table of the agent holding server after the deactivated agent system activates the system; and means for deserializing the agent moving to the own agent system, which is moved from the agent holding server, and is serialized by another agent system while the agent system is in a deactivation state. In the first method of managing the agent, the steps of: deactivating the system until the agent issued by the agent system is processed by other agent systems connected with the network and then the agent returns; confirming an existence of the agent moving to the own agent system for the agent holding server after the deactivated agent system starts, and requesting an itinerary of the agent; and deserializing the agent moving to own agent system moved from the agent holding server and serialized by the other agent systems under deactivation of the system are further provided. When the agent system which issues the agent deactivates and thereafter the system activates, it is possible to confirm whether the agent moving to the own agent system is returned to the agent holding server and request of movement of the agent. Therefore, the monitoring whether the agent system, that is, the target computer, with the agent holding server is activating becomes unnecessary. Since only a state of the agent is serialized and moves to the agent holding server, and is deserialized when receiving a predetermined information, the consumption of the computer resource can be suppressed.
In the first agent managing system, the agent holding server regularly monitors the activation state of the mobile agent system, and, when it is judged that the agent system can be accepted, moves the agent to the mobile agent system stored in the agent holding table. In the first method of managing the agent, the activation state of the mobile agent system is regularly monitored by the agent holding server, and, when it is judged that the agent system can be accepted, the agent is moved to the mobile agent system stored in the agent holding table. When the target computer reactivates, by regularly inquiring of the itinerary target computer from the agent holding server, the agent can be moved to the target computer without requesting the itinerary of the agent by the user.
In the first agent managing system, the agent has an information showing a position of the agent holding server, and the agent system under execution moves the agent to the agent holding server according to the position information. In the first method of managing the agent, the agent is moved to the agent holding server according to a position information of the agent holding server provided in the agent. By providing the position information of the agent holding server in the agent, the agent holding server can be easily specified.
In the first agent managing system, the plural agent system further comprises: means for checking whether a plurality of agents to be move to the mobile agent system exist, and for moving to the mobile agent system by bringing the plurality of agents together in one agent according to the result. In the first method of managing the agent, the step of: checking whether a plurality of agents to be move to the mobile agent system exist, and moving to the mobile agent system by bringing the plurality of agents together in one agent according to the result is further provided. By bringing the itinerary to the itinerary target computer together, the plurality of transfer sequences (itinerary processings) can be collectively performed to one sequence.
In the second agent managing system according to the present invention, the mobile agent system comprises a plurality of agent system for executing an agent, generating the agent, and moving the agent, and a network connected thereto, and wherein each of the plurality of agents system comprises: means for serializing only an internal state of the plurality of agents when there are a plurality of agents of the same itinerary in the agent system under execution, and making another agent hold the serialized agents in the agent system under execution together; and agent transfer means for moving the agent brought together by the means to the following agent system by a transfer once. In the second method of managing the agent of a mobile agent system which has a plurality of agent systems for generating an agent, executing the agent and performing a movement processing of the agent; and a network connected thereto, comprises the steps of: serializing only an internal state of the plurality of agents when there are a plurality of agents of the same itinerary in the agent system under execution, and making another agent hold the serialized agents in the agent system under execution together; and moving the agent brought together to the following agent system by a transfer once. The transfer cost and the network load can be reduced since the itinerary of a plurality of agents is brought together in one agent and is transferred even in a case of the mobile agent managing system without the agent holding server.
In the third agent managing system according to the present invention, the mobile agent system comprises a plurality of agent system for executing an agent, generating the agent, and moving the agent, and a network connected thereto, and wherein each of the plurality of agents system comprises: means for serializing only an internal state the agent, and for making another agent in the agent system under execution hold collectively the serialized agents, when a mobile agent system does not activated in spite of completing a processing of the agent with the agent system under execution; means for moving the agents to the mobile agent system of the another agent; and agent transfer means for deserializing the serialized agents and moving them, when the deactivated agent system activates. In the third method of managing the agent, of a mobile agent system which has a plurality of agent systems for generating an agent, executing the agent and performing a movement processing of the agent; and a network connected thereto, comprises the steps of: serializing only an internal state the agent, and for making another agent in the agent system under execution hold collectively the serialized agents, when a mobile agent system does not activated in spite of completing a processing of the agent with the agent system under execution; moving the agents to the mobile agent system of the another agent; and deserializing the serialized agents and moving them to the agent system, when the deactivated agent system activates. The transfer cost and the network load can be reduced since the itinerary of a plurality of agents is brought together in one agent and is transferred even in a case of the mobile agent managing system without the agent holding server. Moreover, when the itinerary target computer is deactivating, a lot of agents can be prevented from staying in a specific activation computer by making another agent hold the state.
By the above-mentioned structure, even when the agent system, which intends to move the agent, is deactivated, it becomes possible to make the processing of other agents executed preventing the agent from staying on a small-scale computer by temporarily moving and holding the agent to a specific agent holding server. The throughput of the system can be improved besides the resource can be used effectively.
As mentioned above, the present invention provides and constructs the managing system and the managing method of the mobile agent who can hold the agent temporarily without consuming the resource of a small-scale computer. The present invention is not limit to the above-mentioned system and method, and may be is provided by a record medium where the program to achieve the first to third method of managing the mobile agent is recorded.
Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out hereinafter.